/**
 * @author Asier Esteban
 */

package packLigaDeFutbol;

import java.sql.ResultSet;
import java.sql.SQLException;

public class Estadisticas {
	
	public Estadisticas(){
		
	}
	
	public ResultSet equiposTemporada(int pIdTemp) {
		ResultSet eq = null;
		try {
			eq = Principal.BBDD.consulta("SELECT e.idequipo as valor, e.nombre FROM equipo e, temporada t, temporadaequipo te WHERE t.idTemporada = te.idTemp AND te.idEquipo = e.idEquipo AND t.idTemporada = " + pIdTemp + ";");
		}catch(SQLException e) {
			e.printStackTrace();
		}
		return eq;
	}
	
	public ResultSet estadisticasJugadores(int pIdEquipo, int pIdJornada, int pIdTemp) {
		String str = "SELECT j.nombreJug as Nombre, (SELECT COUNT(*) FROM actuacion a, jugador j, partido p, temporada t, jornada jo WHERE a.idjugador = j.idJugador AND j.idEquipo = e.idEquipo AND e.idEquipo = " + pIdEquipo + " AND a.idtipo = 2 AND a.idpartido = p.idpartido AND p.idjornada = jo.idjornada AND jo.idjornada <= " + pIdJornada + " AND jo.idTemporada = t.idTemporada AND t.idTemporada = " + pIdTemp + ") as Amarillas, (SELECT COUNT(*) from actuacion WHERE a.idjugador = j.idJugador AND j.idEquipo = e.idEquipo AND e.idEquipo = " + pIdEquipo + " AND a.idtipo = 3 AND a.idpartido = p.idpartido AND p.idjornada = jo.idjornada AND jo.idjornada <= " + pIdJornada + " AND jo.idTemporada = t.idTemporada AND t.idTemporada = " + pIdTemp + ") as Rojas, (SELECT COUNT(*) from actuacion WHERE a.idjugador = j.idJugador AND j.idEquipo = e.idEquipo AND e.idEquipo = " + pIdEquipo + " AND a.idtipo = 1 AND a.idpartido = p.idpartido AND p.idjornada = jo.idjornada AND jo.idjornada <= " + pIdJornada + " AND jo.idTemporada = t.idTemporada AND t.idTemporada = " + pIdTemp + ") as Goles FROM jugador j, actuacion a, temporada t, jornada jo, partido p, equipo e;";
		ResultSet est = null;
		try{
			est = Principal.BBDD.consulta(str);
		}catch(SQLException e) {
			e.printStackTrace();
		}
		return est;
	}
	
	public String pJugados(int pIdJor) {
		String str = "SELECT numJornada FROM jornada WHERE idjornada = " + pIdJor +";";
		String p = "";
		try{
			ResultSet rs = Principal.BBDD.consulta(str);
			rs.first();
			p = rs.getString("numJornada");
		}catch(SQLException e) {
			e.printStackTrace();
		}
		return p;
	}
	
	public String pGanados(int pIdJor, int pIdTemp, int pIdEquipo) {
		String str = "SELECT COUNT(*) FROM partido p, temporada t, jornada jo WHERE t.idTemporada = " + pIdTemp + " AND jo.idtemporada = t.idTemporada AND jo.idjornada = p.idjornada AND p.idjornada <= " + pIdJor + " AND ((p.resultado = 1 AND p.IdLocal = " + pIdEquipo + ") OR (p.resultado = 2 AND p.IdVisitante = " + pIdEquipo + "));";
		String result = null;
		ResultSet est = null;
		try{
			est = Principal.BBDD.consulta(str);
			est.first();
			result = est.getString(1);
		}catch(SQLException e) {
			e.printStackTrace();
		}
		return result;
	}
	
	public String pPerdidos(int pIdJor, int pIdTemp, int pIdEquipo) {
		String str = "SELECT COUNT(*) FROM partido p, temporada t, jornada jo WHERE t.idTemporada = " + pIdTemp + " AND jo.idtemporada = t.idTemporada AND jo.idjornada = p.idjornada AND p.idjornada <= " + pIdJor + " AND ((p.resultado = 1 AND p.IdVisitante = " + pIdEquipo + ") OR (p.resultado = 2 AND p.IdLocal = " + pIdEquipo + "));";
		String result = null;
		ResultSet est = null;
		try{
			est = Principal.BBDD.consulta(str);
			est.first();
			result = est.getString(1);
		}catch(SQLException e) {
			e.printStackTrace();
		}
		return result;
	}
	
	public String pEmpatados(int pIdJor, int pIdTemp, int pIdEquipo) {
		String str = "SELECT COUNT(*) FROM partido p, temporada t, jornada jo WHERE t.idTemporada = " + pIdTemp + " AND jo.idtemporada = t.idTemporada AND jo.idjornada = p.idjornada AND p.idjornada <= " + pIdJor + " AND (p.resultado = 0 AND (p.IdLocal = " + pIdEquipo + " OR p.IdVisitante = " + pIdEquipo + "));";
		String result = null;
		ResultSet est = null;
		try{
			est = Principal.BBDD.consulta(str);
			est.first();
			result = est.getString(1);
		}catch(SQLException e) {
			e.printStackTrace();
		}
		return result;
	}
	
	public String pTarjetasA(int pIdJor, int pIdTemp, int pIdEquipo) {
		String str = "SELECT COUNT(*) FROM actuacion a, temporada t, partido p, jornada j WHERE t.idTemporada = " + pIdTemp + " AND j.idtemporada = t.idTemporada AND j.idjornada <= " + pIdJor + " AND p.idjornada = j.idjornada AND (p.idLocal = " + pIdEquipo + " OR p.idVisitante = " + pIdEquipo + ") AND a.idpartido = p.idpartido AND a.idtipo = 2";
		String result = null;
		ResultSet est = null;
		try{
			est = Principal.BBDD.consulta(str);
			est.first();
			result = est.getString(1);
		}catch(SQLException e) {
			e.printStackTrace();
		}
		return result;
	}
	
	public String pTarjetasR(int pIdJor, int pIdTemp, int pIdEquipo) {
		String str = "SELECT COUNT(*) FROM actuacion a, temporada t, partido p, jornada j WHERE t.idTemporada = " + pIdTemp + " AND j.idtemporada = t.idTemporada AND j.idjornada <= " + pIdJor + " AND p.idjornada = j.idjornada AND (p.idLocal = " + pIdEquipo + " OR p.idVisitante = " + pIdEquipo + ") AND a.idpartido = p.idpartido AND a.idtipo = 2";
		String result = null;
		ResultSet est = null;
		try{
			est = Principal.BBDD.consulta(str);
			est.first();
			result = est.getString(1);
		}catch(SQLException e) {
			e.printStackTrace();
		}
		return result;
	}

}
